﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BDSUETableAdapters;

public partial class GestionNotificaciones_FrListarMisNotificaciones : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        FieldSetNotiE_UAE.Visible = false;
        FieldSetNotiE_UAU.Visible = false;
        FieldSetNotiR_UDE.Visible = false;
        FieldSetNotiR_UDU.Visible = false;
        FieldSetNotiE_EAU.Visible = false;
        FieldSetNotiR_EDU.Visible = false;
        
        //if (!Page.IsPostBack)
        {
            CargarNotificacionesUsuario();
        }
    }

    void CargarNotificacionesUsuario()
    {
        string usuario = string.Empty;
        if (Session["nomUsEmp"] != null)
        {
            usuario = Session["nomUsEmp"].ToString();
            //FieldSetNotiE_UAE.Visible = true;
            //FieldSetNotiE_UAU.Visible = true;
            //FieldSetNotiR_UDE.Visible = true;
            //FieldSetNotiR_UDU.Visible = true;
            FieldSetNotiE_EAU.Visible = true;
            FieldSetNotiR_EDU.Visible = true;
        }
        else
            if (Session["nomUsr"] != null)
            {
                usuario = Session["nomUsr"].ToString();

                FieldSetNotiE_UAU.Visible = true;
                FieldSetNotiR_UDU.Visible = true;
                //FieldSetNotiE_EAU.Visible = true;
                //FieldSetNotiR_EDU.Visible = true;
                if (Session["rolUsuario"].ToString() != "practicante")
                {
                    FieldSetNotiE_UAE.Visible = true;
                    FieldSetNotiR_UDE.Visible = true;
                }
            }
            else
            {
                //Error
            }
        ObtEnviadasPorUsuarioAEmpresa(usuario);
        ObtEnviadasPorUsuarioAUsuario(usuario);
        ObtRecibidasPorUsuarioDeEmpresa(usuario);
        ObtRecibidasPorUsuarioDeUsuario(usuario);
        ObtEnviadasPorEmpresaAUsuario(usuario);
        ObtRecibidasPorEmpresaDeUsuario(usuario);
    }

    void ObtEnviadasPorUsuarioAEmpresa(string usuario)
    {
        if (usuario != string.Empty)
        {
            GestionNotificaciones gN = new GestionNotificaciones();
            GVNotiEnviadasPorUsuarioAEmpresa.DataSource = gN.ObtEnviadasPorUsuarioAEmpresa(usuario);
            GVNotiEnviadasPorUsuarioAEmpresa.DataBind();
        }
    }

    void ObtEnviadasPorUsuarioAUsuario(string usuario)
    {
        if (usuario != string.Empty)
        {
            GestionNotificaciones gN = new GestionNotificaciones();
            GVNotiEnviadasPorUsuarioAUsuario.DataSource = gN.ObtEnviadasPorUsuarioAUsuario(usuario);
            GVNotiEnviadasPorUsuarioAUsuario.DataBind();
        }
    }

    void ObtRecibidasPorUsuarioDeEmpresa(string usuario)
    {
        if (usuario != string.Empty)
        {
            GestionNotificaciones gN = new GestionNotificaciones();
            GVNotiRecibidasPorUsuarioDeEmpresa.DataSource = gN.ObtRecibidasPorUsuarioDeEmpresa(usuario);
            GVNotiRecibidasPorUsuarioDeEmpresa.DataBind();
        }
    }

    void ObtRecibidasPorUsuarioDeUsuario(string usuario)
    {
        if (usuario != string.Empty)
        {
            GestionNotificaciones gN = new GestionNotificaciones();
            GVNotiRecibidasPorUsuarioDeUsuario.DataSource = gN.ObtRecibidasPorUsuarioDeUsuario(usuario);
            GVNotiRecibidasPorUsuarioDeUsuario.DataBind();
        }
    }

    void ObtEnviadasPorEmpresaAUsuario(string usuario)
    {
        if (usuario != string.Empty)
        {
            GestionNotificaciones gN = new GestionNotificaciones();
            GVNotiEnviadasPorEmpresaAUsuario.DataSource = gN.ObtEnviadasPorEmpresaAUsuario(usuario);
            GVNotiEnviadasPorEmpresaAUsuario.DataBind();
        }
    }

    void ObtRecibidasPorEmpresaDeUsuario(string usuario)
    {
        if (usuario != string.Empty)
        {
            GestionNotificaciones gN = new GestionNotificaciones();
            GVNotiRecibidasPorEmpresaDeUsuario.DataSource = gN.ObtRecibidasPorEmpresaDeUsuario(usuario);
            GVNotiRecibidasPorEmpresaDeUsuario.DataBind();
        }
    }

    protected void OnRowDataBound(object sender, EventArgs e)
    {
        //GridViewRowEventArgs ea = e as GridViewRowEventArgs;
        //if (ea.Row.RowType == DataControlRowType.DataRow)
        //{
        //    DataRowView drv = ea.Row.DataItem as DataRowView;
            
        //    Object ob = drv["idNotificacion"];
        //}
        
    }

    protected string Truncate(Object textToTruncate, Object Length)
    {
        string shorText = textToTruncate.ToString();
        int longText = shorText.Length;
        shorText = shorText.Substring(0, shorText.Length > Convert.ToInt32(Length) ? Convert.ToInt32(Length) : shorText.Length);
        if (longText > Convert.ToInt32(Length))
            shorText = shorText + "...";

        return shorText;
    }

    protected void ButtonConsultar_Click(object sender, EventArgs e)
    {
        CargarNotificacionesUsuario();
    }
    protected void ButtonEnvNotificacion_Click(object sender, EventArgs e)
    {
        Response.Redirect("Notificacion.aspx");
    }
    protected void GVNotiEnviadasPorUsuarioAEmpresa_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GVNotiEnviadasPorUsuarioAEmpresa.PageIndex = e.NewPageIndex;
        GVNotiEnviadasPorUsuarioAEmpresa.DataBind();
    }
    protected void GVNotiEnviadasPorUsuarioAUsuario_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GVNotiEnviadasPorUsuarioAUsuario.PageIndex = e.NewPageIndex;
        GVNotiEnviadasPorUsuarioAUsuario.DataBind();
    }
    protected void GVNotiRecibidasPorUsuarioDeEmpresa_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GVNotiRecibidasPorUsuarioDeEmpresa.PageIndex = e.NewPageIndex;
        GVNotiRecibidasPorUsuarioDeEmpresa.DataBind();
    }
    protected void GVNotiRecibidasPorUsuarioDeUsuario_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GVNotiRecibidasPorUsuarioDeUsuario.PageIndex = e.NewPageIndex;
        GVNotiRecibidasPorUsuarioDeUsuario.DataBind();
    }
    protected void GVNotiEnviadasPorEmpresaAUsuario_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GVNotiEnviadasPorEmpresaAUsuario.PageIndex = e.NewPageIndex;
        GVNotiEnviadasPorEmpresaAUsuario.DataBind();
    }
    protected void GVNotiRecibidasPorEmpresaDeUsuario_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GVNotiRecibidasPorEmpresaDeUsuario.PageIndex = e.NewPageIndex;
        GVNotiRecibidasPorEmpresaDeUsuario.DataBind();
    }
}
